import CryptoJS from 'crypto-js';

function generateMD5Hash(timestamp, nonce, secret) {
    // 创建一个数组来存储参数
    const params = [timestamp, nonce, secret];
    
    // 对参数进行ASCII排序
    const sortedParams = params.sort((a, b) => a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' }));
    
    // 拼接字符串
    const concatenatedString = sortedParams.join('');
    
    // 计算MD5哈希值
    const hash = CryptoJS.MD5(concatenatedString).toString();
    
    return hash;
}

// 示例数据
const timestamp = '1691823600'; // 当前时间的时间戳
const nonce = '1234567890';     // 随机字符串
const secret = '    ';   // 共享密钥

// 调用函数
const md5Hash = generateMD5Hash(timestamp, nonce, secret);
console.log('MD5 Hash:', md5Hash);